package com.ruoyi.system.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.annotation.Excel;

/**
 * 数据集管理表 sys_dataset
 * 
 * @author ruoyi
 */
public class SysDataset extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 数据集ID */
    @Excel(name = "数据集编号", cellType = com.ruoyi.common.annotation.Excel.ColumnType.NUMERIC)
    private Long datasetId;

    /** 数据集名称 */
    @Excel(name = "数据集名称")
    @NotBlank(message = "数据集名称不能为空")
    @Size(min = 0, max = 100, message = "数据集名称不能超过100个字符")
    private String datasetName;

    /** 数据集编码 */
    @Excel(name = "数据集编码")
    @NotBlank(message = "数据集编码不能为空")
    @Size(min = 0, max = 50, message = "数据集编码不能超过50个字符")
    private String datasetCode;

    /** 所属数据源ID */
    @Excel(name = "所属数据源ID")
    @NotBlank(message = "所属数据源不能为空")
    private String datasourceId;

    /** 所属数据源编码 */
    @Excel(name = "所属数据源编码")
    private String datasourceCode;

    /** 所属数据源名称 */
    @Excel(name = "所属数据源名称")
    private String datasourceName;

    /** 数据集类型（table/view/query/api/file） */
    @Excel(name = "数据集类型")
    @NotBlank(message = "数据集类型不能为空")
    private String datasetType;

    /** 数据集定义（表名、SQL语句、API地址或文件路径） */
    @NotBlank(message = "数据集定义不能为空")
    private String datasetDefinition;

    /** 数据集状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 数据量 */
    private Long dataCount;

    /** 元数据信息（JSON格式） */
    private String metadata;

    /** 当前版本号 */
    @Excel(name = "版本号")
    private String version;

    /** 备注 */
    private String remark;

    public Long getDatasetId()
    {
        return datasetId;
    }

    public void setDatasetId(Long datasetId)
    {
        this.datasetId = datasetId;
    }

    public String getDatasetName()
    {
        return datasetName;
    }

    public void setDatasetName(String datasetName)
    {
        this.datasetName = datasetName;
    }

    public String getDatasetCode()
    {
        return datasetCode;
    }

    public void setDatasetCode(String datasetCode)
    {
        this.datasetCode = datasetCode;
    }

    public String getDatasourceId()
    {
        return datasourceId;
    }

    public void setDatasourceId(String datasourceId)
    {
        this.datasourceId = datasourceId;
    }

    public String getDatasourceCode()
    {
        return datasourceCode;
    }

    public void setDatasourceCode(String datasourceCode)
    {
        this.datasourceCode = datasourceCode;
    }

    public String getDatasourceName()
    {
        return datasourceName;
    }

    public void setDatasourceName(String datasourceName)
    {
        this.datasourceName = datasourceName;
    }

    public String getDatasetType()
    {
        return datasetType;
    }

    public void setDatasetType(String datasetType)
    {
        this.datasetType = datasetType;
    }

    public String getDatasetDefinition()
    {
        return datasetDefinition;
    }

    public void setDatasetDefinition(String datasetDefinition)
    {
        this.datasetDefinition = datasetDefinition;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public Long getDataCount()
    {
        return dataCount;
    }

    public void setDataCount(Long dataCount)
    {
        this.dataCount = dataCount;
    }

    public String getMetadata()
    {
        return metadata;
    }

    public void setMetadata(String metadata)
    {
        this.metadata = metadata;
    }

    public String getVersion()
    {
        return version;
    }

    public void setVersion(String version)
    {
        this.version = version;
    }

    @Override
    public String getRemark()
    {
        return remark;
    }

    @Override
    public void setRemark(String remark)
    {
        this.remark = remark;
    }
}